<?php


namespace app\common\validate\merchant;


use yiqiniu\extend\validate\YqnValidate;

/**
 * 商户积分订单
 * Class MerchantOrderPoint
 * @package app\common\validate\merchant
 */
class MerchantOrderPointValid extends YqnValidate
{

    /**
     *  字段：'id'，    类型：'integer',    是否为空：1,    说明：序号
     *  字段：'order_no'，    类型：'character varying(50)',    是否为空：1,    说明：订单号
     *  字段：'mer_id'，    类型：'character varying(20)',    是否为空：1,    说明：商户编号
     *  字段：'product_code'，    类型：'character varying(50)',    是否为空：1,    说明：商品码
     *  字段：'product_title'，    类型：'character varying(150)',    是否为空：1,    说明：商品名称
     *  字段：'product_num'，    类型：'integer',    是否为空：1,    说明：兑换数量
     *  字段：'sum_point'，    类型：'integer',    是否为空：1,    说明：总积分
     *  字段：'user_type'，    类型：'smallint',    是否为空：1,    说明：用户类型 1:导购  2:会员
     *  字段：'user_id'，    类型：'integer',    是否为空：1,    说明：用户编号
     *  字段：'real_name'，    类型：'character varying(30)',    是否为空：1,    说明：收货姓名
     *  字段：'mobile'，    类型：'character varying(13)',    是否为空：1,    说明：手机号码
     *  字段：'address'，    类型：'character varying(300)',    是否为空：1,    说明：地址
     *  字段：'express_company'，    类型：'character varying(50)',    是否为空：1,    说明：快递公司
     *  字段：'express_no'，    类型：'character varying(50)',    是否为空：1,    说明：快递单号
     *  字段：'status'，    类型：'smallint',    是否为空：1,    说明：状态 0 未处理 1发货   8 已完成
     *  字段：'op_user'，    类型：'integer',    是否为空：1,    说明：操作人
     *  字段：'create_at'，    类型：'timestamp(0) without time zone',    是否为空：,    说明：创建时间
     *  字段：'update_at'，    类型：'timestamp(0) without time zone',    是否为空：,    说明：更新时间
     */

    /**
     *  验证规则
     */
    protected $rule = [
        'id' => 'require|number|dbExists:merchant_order_point,id',
        'order_no' => 'require|dbExists:merchant_order_point,order_no',
        'mer_id' => 'require',
        'product_code' => 'require',
        'product_title' => 'require',
        'product_num' => 'require|number',
        'sum_point' => 'require|number',
        'user_type' => 'require|number',
        'user_id' => 'require|number',
        'real_name' => 'require',
        'mobile' => 'require',
        'address' => 'require',
        'express_company' => 'require',
        'express_no' => 'require',
        'status' => 'require|number',
        'op_user' => 'require|number',
        'create_at' => 'date',
        'update_at' => 'date',
        'type' => 'require|in:1,2',
        'address_id' => 'require',

    ];

    /**
     * 定义错误信息
     * 格式：'字段名.规则名'    =>    '错误信息'
     *
     * @var array
     */
    protected $message = [
        'id.require' => '序号不能为空',
        'id.number' => '序号只能为数字类型',
        'id.dbExists' => '未找到订单信息',
        'order_no.require' => '订单号不能为空',
        'order_no.dbExists' => '订单未找到',
        'mer_id.require' => '商户编号不能为空',
        'product_code.require' => '商品码不能为空',
        'product_title.require' => '商品名称不能为空',
        'product_num.require' => '兑换数量不能为空',
        'product_num.number' => '兑换数量只能为数字类型',
        'sum_point.require' => '总积分不能为空',
        'sum_point.number' => '总积分只能为数字类型',
        'user_type.require' => '用户类型不能为空',
        'user_type.number' => '用户类型只能为数字类型',
        'user_id.require' => '用户编号不能为空',
        'user_id.number' => '用户编号只能为数字类型',
        'real_name.require' => '收货姓名不能为空',
        'mobile.require' => '手机号码不能为空',
        'address.require' => '地址不能为空',
        'express_company.require' => '快递公司不能为空',
        'express_no.require' => '快递单号不能为空',
        'status.require' => '状态不能为空',
        'status.number' => '状态只能为数字类型',
        'op_user.require' => '操作人不能为空',
        'op_user.number' => '操作人只能为数字类型',
        'create_at.date' => '创建时间只能为日期类型',
        'update_at.date' => '更新时间只能为日期类型',
        'address_id.require' => '请选择地址',


    ];

    //验证场景
    protected $scene = [
        'order_info' => ['order_no'],
        'order_add' => ['product_code','address_id','product_num'],
        'order_submit' => ['order_no'],
        'order_finish' => ['order_no'],
        'order_send' => ['order_no','express_no','express_company'],
        'order_save_address' => ['order_no','address_id'],
    ];
}
